home *** CD-ROM | disk | FTP | other *** search
- MODULE ShowCMD;
- __IMP_SWITCHES__
- #ifdef HM2
- #ifdef __LONG_WHOLE__
- (*$!i+: Modul muss mit $i- uebersetzt werden! *)
- (*$!w+: Modul muss mit $w- uebersetzt werden! *)
- #else
- (*$!i-: Modul muss mit $i+ uebersetzt werden! *)
- (*$!w-: Modul muss mit $w+ uebersetzt werden! *)
- #endif
- #endif
- (* Test und Anwendungsbeispiel fuer Modul 'cmdline'.
- *
- * hk, 02-Okt-92
- *)
-
- FROM PORTAB IMPORT
- (* CONST*) NULL;
-
- FROM types IMPORT
- (* TYPE *) StrPtr, StrArray, StrRange, ArrayRange;
-
- FROM cstr IMPORT
- (* PROC *) AssignCToM2;
-
- FROM DosSystem IMPORT
- (* TYPE *) BasePage, BasePtr,
- (* VAR *) BASEP;
-
- FROM cmdline IMPORT
- (* VAR *) environ,
- (* PROC *) main;
-
- FROM Terminal IMPORT
- (* PROC *) WriteString, WriteLn, Write, Read;
-
- VAR argc : ArrayRange;
- argv : StrArray;
- str : ARRAY[0..255] OF CHAR;
- i : ArrayRange;
- c : CHAR;
- max : CARDINAL;
- idx : CARDINAL;
-
- BEGIN
- WriteString("Basepage-Kommandozeile:"); WriteLn;
- WriteString("-----------------------"); WriteLn;
- WITH BASEP^ DO
- max := ORD(pCmdlin[0]);
- IF max > 127 THEN
- max := 127;
- END;
- idx := 0;
- Write('"');
- WHILE (idx < max) AND (pCmdlin[idx+1] >= ' ') DO
- Write(pCmdlin[idx+1]);
- INC(idx);
- END;
- Write('"');
- WriteLn;
- END;
- WriteLn;
-
- main(argc, argv);
-
- IF argc = 0 THEN
- WriteString("Kein Speicher frei!"); WriteLn;
- ELSE
- WriteString("Programmname:"); WriteLn;
- WriteString("-------------"); WriteLn;
- AssignCToM2(argv^[0], str);
- Write('"'); WriteString(str); Write('"'); WriteLn;
- WriteLn;
-
- WriteString("Programmargumente:"); WriteLn;
- WriteString("------------------"); WriteLn;
- i := 1;
- WHILE argv^[i] <> NULL DO
- AssignCToM2(argv^[i], str);
- Write('"'); WriteString(str); Write('"'); WriteLn;
- INC(i);
- END;
- WriteLn;
-
- WriteString("Environment:"); WriteLn;
- WriteString("------------"); WriteLn;
- i:=0;
- WHILE environ^[i] <> NULL DO
- AssignCToM2(environ^[i], str);
- Write('"'); WriteString(str); Write('"'); WriteLn;
- INC(i);
- END;
- END;
- Read(c);
- END ShowCMD.
-